#include "cjson/cJSON.h"
#include "log/log.h"
#include <stdlib.h>

int main(int argc, char *argv[])
{
    // 生成一个空的JSON对象
    cJSON *json = cJSON_CreateObject();

    // 生成一个字符串类型的name对
    cJSON *name_item = cJSON_AddStringToObject(json, "name", "zkevin");

    // 生成一个整型类型的age对
    cJSON *age_item = cJSON_AddNumberToObject(json, "age", 25);

    // 获取未格式化的JSON字符串
    char *unformatted_json = cJSON_PrintUnformatted(json);

    // 打印未格式化的JSON字符串
    log_debug("unformatted_json: %s", unformatted_json);

    // 解析JSON字符串
    cJSON *parsed_json = cJSON_Parse(unformatted_json);

    // 获取"name"的字段
    cJSON *name = cJSON_GetObjectItem(parsed_json, "name");
    // 获取name的字符串值
    char *name_str = name->valuestring;

    // 获取"age"的字段
    cJSON *age = cJSON_GetObjectItem(parsed_json, "age");
    // 获取age的整型值
    int age_int = age->valueint;

    // 打印解析后的字符串值和整型值
    log_debug("name: %s, age: %d", name_str, age_int);

    // 释放内存
    cJSON_Delete(json);
    cJSON_Delete(parsed_json);
    free (unformatted_json);

    return 0;
}

